<?php

    $this->PhpExcel->Excel();
    
    $ext = ($formato == 1) ? 'xlsx' : 'ods';
    
    $nombre = "RELACION_DE_VIAJES" . date("d_m_Y");
    $this->PhpExcel->titulo_hoja("Asignacion de Viajes");
    
    $this->PhpExcel->hoja->getDefaultStyle()->applyFromArray(array('font' => array('name' => 'arial', 'size' => 10)));
    
    $titulo = array('font' => array('bold' => true, 'size' => 24), 
                    'alignment' => array('horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER));
    
    $arrStyleTitle = array('fill' => array('type' => PHPExcel_Style_Fill::FILL_SOLID, 'startcolor' => array('argb' => '81DAF5')),
                            'font' => array('bold' => true, 'color' => array('argb' => PHPExcel_Style_Color::COLOR_WHITE)),
                            'alignment' => array('horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER));

    $arrStyleTitleuno = array('fill' => array('type' => PHPExcel_Style_Fill::FILL_SOLID, 'startcolor' => array('argb' => 'EFFBFB')));

    $arrborderTitleuno = array('style' => PHPExcel_Style_Border::BORDER_DASHDOT, 'color' => array('argb' => '000000'));
    
    $this->PhpExcel->configura_celda('A', 10); //NRO VIAJES
    $this->PhpExcel->configura_celda('B', 20); //FECHA CARGA
    $this->PhpExcel->configura_celda('C', 40); //ORIGEN
    $this->PhpExcel->configura_celda('D', 40); //DESTINO
    $this->PhpExcel->configura_celda('E', 40); //PRODUCTO
    
    $fila = 1;
    
    $tit[] = array('NRO', 'STR', 'C');
    $tit[] = array('FECHA DE CARGA', 'STR', 'C');
    $tit[] = array('ORIGEN', 'STR', 'L');
    $tit[] = array('DESTINO', 'STR', 'L');
    $tit[] = array('PRODUCTO', 'STR', 'L');
    
    foreach ($data as $detalle) {
        $this->PhpExcel->titulos_dinamicos(array("A$fila" => 'ASIGNACION DE VIAJES', ));
        $this->PhpExcel->hoja->mergeCells("A$fila:E$fila");
        $this->PhpExcel->hoja->getStyle("A$fila")->applyFromArray($titulo);
        
        $fila += 2;
        
        $this->PhpExcel->titulos_dinamicos(array(
            "A$fila" => "Codigo. Cliente:", 
            "E$fila" => "Asignación Nro: ", 
            "A" . ++$fila => "Razon Social: {$detalle['Afiliado']['nombre']}", 
            "E$fila" => "Fecha: {$this->Interfaz->fechatime($detalle['PlanificacionDetalle']['creado'])}", 
            "A" . ++$fila => "Rif: {$detalle['Afiliado']['ced_rif']}", 
            "A" . ++$fila => "Dirección: {$detalle['Afiliado']['direccion']}", 
            "A" . ++$fila => "Contacto: ", 
            "A" . ++$fila => "Teléfono: {$detalle['Afiliado']['telf']}", 
            ));
        
        $fila += 2;
        $j = 0;

        foreach ($tit as $columnTitle) {
            $this->PhpExcel->valor_celda($j, $fila, $columnTitle);
            $oColumn = $this->PhpExcel->obtener_columna($j, $fila);
            $oRow = $this->PhpExcel->obtener_fila($j, $fila);
            $this->PhpExcel->hoja->getStyle($oColumn . $oRow)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
            $this->PhpExcel->hoja->getStyle($oColumn . $oRow)->applyFromArray($arrStyleTitle);
            $this->PhpExcel->hoja->getStyle($oColumn . $oRow)->getBorders()->getAllBorders()->applyFromArray($arrborderTitleuno);
            $j++;
        }
        $fila++;
        
        if(isset($viajes[$detalle['PlanificacionDetalle']['id']])){
            $i = 1;
            foreach ($viajes[$detalle['PlanificacionDetalle']['id']] as $valor){
                $valores = array();
                $valores[] = array($i, 'STR', 'C');
                $valores[] = array($this->Interfaz->fecha($valor['Viaje']['fecha_carga']), 'STR', 'C');
                $valores[] = array($valor['OrigenViaje']['nombre'], 'STR', 'L');
                $valores[] = array($valor['DestinoViaje']['nombre'], 'STR', 'L');
                $valores[] = array($valor['Producto']['descripcion'], 'STR', 'L');
                $i++;
                $columna = 0;
                foreach ($valores as $valor2) {
                    $this->PhpExcel->valor_celda($columna, $fila, $valor2);
                    $oColumn = $this->PhpExcel->obtener_columna($columna, $fila);
                    $oRow = $this->PhpExcel->obtener_fila($columna, $fila);
                    if ($fila % 2 == 0)
                        $this->PhpExcel->hoja->getStyle($oColumn . $oRow)->applyFromArray($arrStyleTitleuno);
                    $this->PhpExcel->hoja->getStyle($oColumn . $oRow)->getBorders()->getAllBorders()->applyFromArray($arrborderTitleuno);
                    $columna++;
                }
                $fila++;
            }
            $fila++;
            unset($viajes[$detalle['PlanificacionDetalle']['id']]);
        }
        $fila++;
    }

    $this->PhpExcel->mostrar($nombre, $ext);